.. _cmlAdvDataRW: cmlAdvDataRW ================================ -------------------------------- SYNOPSYS ````````````` .. code-block:: none VT_I4 cmlAdvDataRW ([in] VT_I4 BoardID, [in] VT_I4 Axis, [in] VT_I4 Header, [in] VT_PI4 CmdData, [out] VT_PI4 RspData) DESCRIPTION ````````````` - cmlAdvDataRW () 함수는 지정된 I/O 디바이스에 정해짂 데이터 값을 쓰고 읽을 때 사용하는 함수입니다. 이 함수를 통하여 사용자는 임의의 데이터 값을 해당 디바이스에 젂달하고, 젂달받을 수 있습니다. \ - 이 함수의 사용과 호출에 있어, 제공된 ㈜커미조아의 함수 헤더 Visual Basic 에서는 함수의 첨두어 cml 가 붙지 않습니다. PARAMETER ````````````` ▶ BoardID : 사용자가 설정한 디바이스(보드) ID. ▶ Axis : 축 번호. 통합 축으로 관리되는 축 번호를 의미하며, 상수 값으로 0 (Zero Based) 이상, 최대 통합 축 개수 - 1 이하의 값을 축 번호로 설정할 수 있습니다. (단, 2016 년 현재 지원되는 I/O 디바이스는 보드 당 1 개로 제한되어 있으며, Axis 29 번에 해당합니다. 이는 최초 통싞 연결 시 슬레이브 국의 어드레스를 미리 지정하였기 때묷에, 서보 드라이브의 연결을 최대로 하기 위한 조치입니다. 추후 정챀에 따라 연결 가능한 I/O 디바이스가 확장될 수 있습니다.) ▶ Header : 표준 I/O 프로파일의 DATA_RWA / DATA_RWS 커맨드 데이터 중 OPTION 영역에 해당하는 영역입니다. 사용하시는 I/O 제품 매뉴얼을 참고하시기 바랍니다. ▶ CmdData : I/O 장치에 젂달하고자 하는 데이터를 기록합니다. 표준 I/O 프로파일의 DATA_RWA / DATA_RWS 커맨드 데이터 중 OUTPUT DATA 영역에 해당하는 영역입니다. 자세한 내용은 사용하시는 제품 매뉴얼을 참고하시기 바랍니다. ▶ RspData : I/O 장치로부터 젂달받을 데이터를 위한 버퍼 영역입니다. 표준 I/O 프로파일의 DATA_RWA / DATA_RWS 커맨드 데이터 중 INPUT DATA 영역에 해당하는 영역입니다. 자세한 내용은 사용하시는 제품 매뉴얼을 참고하시기 바랍니다. RETURN VALUE ````````````` .. csv-table:: :widths: 10 90 :header-rows: 1 :stub-columns: 0 Value, Meaning 음수, 수행 실패 ERR_NONE, 수행 성공 EXAMPLE ``````````````````` .. code-block:: c++ :linenos: :emphasize-lines: 5 C/C++ #include ‚ComiMLink2_SDK.h‛ #include ‚ComiMLink2_SDK_Def.h‛ long BoardID = 0; long IoAxis = 29; long nHeader = 0x0; long nOutput[7]; long nInput[7]; memset(nOutput, 0, sizeof(long) * 7); memset(nInput, 0, sizeof(long) * 7); nOutput[0] = 0x55555555; nOutput[1] = 0xAAAAAAAA; nOutput[2] = 0xFFFFFFFF; … // 함수를 호출하여 Output Data Write (동시에 Input Data 가 Read됨) cmlAdvDataRW(BoardID, IoAxis, nHeader, nOutput, nInput); // nInput[] 배열로 입력 데이터 확인 가능